package com.sdleyou.treepro.common.model.dao;

import com.sdleyou.treepro.common.model.dto.MissionRewardDTO;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.List;

@Data
@Document(collection = "{RRZS}_collection_mission")
public class MissionDO {

    /**
     * 文档主键
     */
    @Id
    @Field("_id")
    private String objId;

    /**
     * 任务id
     */
    @Field("task_id")
    @Indexed
    private String taskId;

    /**
     * 任务名称
     */
    @Field("task_name")
    private String taskName;

    /**
     * 任务图标
     */
    @Field("task_img")
    private String taskImg;

    /**
     * 任务类型
     * sign-签到任务 step-捐赠步数任务 water-浇水任务 fertilizer-施肥任务 pest-除虫任务 adv-广告任务 share-分享任务 invent-邀请好友任务
     * recall-好友召回任务 feed-给小助手喂食任务 signature-生成日签任务 noon-中午登陆查看任务
     */
    @Field("task_type")
    private String taskType;

    /**
     * 任务标记(日常任务还是一次性任务) day one
     */
    @Field("task_tag")
    private String taskTag;

    /**
     * 任务描述
     */
    @Field("task_desc")
    private String taskDesc;

    /**
     * 完成任务所需要的条件数量
     */
    @Field("condition")
    private String condition;

    /**
     * 排序
     */
    @Field("sort")
    private Integer sort;

    /**
     * 任务奖励
     */
    @Field
    private List<MissionRewardDTO> propList;

    /**
     * 创建时间
     */
    @Field("gmt_create")
    private Long gmtCreate;

    /**
     * 更新时间
     */
    @Field("gmt_modified")
    private Long gmtModified;
}
